home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio / Ham Radio CD-ROM (Emerald Software) (1995).ISO / ant / antenna2 / rectaper.bas < prev    next >
BASIC Source File  |  1986-09-09  |  3KB  |  99 lines

  1. 10 CLS:KEY OFF
  2. 20 'uniform rectangular aperture
  3. 30 '  ahmad faizal mohd zain
  4. 40 '        7/29/86
  5. 50 DIM Y(200),W(200),ANG(200),A(200)
  6. 60 DEF FN LOGTEN(X)=LOG(X)/LOG(10)
  7. 70 PI=3.141592
  8. 80 PRINT"             UNIFORM RECTANGULAR APERTURE":PRINT:PRINT
  9. 90 INPUT"width in x-direction (lambda)";LX
  10. 100 INPUT "width in y-direction (lambda)";LY
  11. 110 HPX=.886/LX:HPY=.866/LY
  12. 120 PRINT:PRINT USING "Half power beamwidth in xz-plane is ##.##";HPX*180/PI;:PRINT" deg."
  13. 130 PRINT USING "Half power beamwidth in yz-plane is ##.##";HPY*180/PI;:PRINT" deg."
  14. 140 D=4*PI*LX*LY
  15. 150 PRINT:PRINT USING "Directivity is ####.## ";D;:PRINT USING " or ##.##";10*FN LOGTEN(D);:PRINT" dB."
  16. 160 LOCATE 22,1:GOSUB 870
  17. 170 YMIN=0:YMAX=0
  18. 180   'xz-plane
  19. 190 J=0
  20. 200   FOR THE=-90 TO 90
  21. 210    RTHE=THE*PI/180
  22. 220    U=SIN(RTHE)
  23. 230     AX=PI*LX
  24. 240     IF U=0 THEN  F=COS(RTHE):GOTO 260
  25. 250     F=COS(RTHE)*SIN(AX*U)/(AX*U)
  26. 260     Y(J)=ABS(F)
  27. 270     Y(J)=20*FN LOGTEN(Y(J))
  28. 280   IF Y(J)>YMAX THEN YMAX=Y(J)
  29. 290 '    IF Y(J)<YMIN THEN YMIN=Y(J)
  30. 300     J=J+1
  31. 310    NEXT THE
  32. 320 YMIN=-50-YMAX
  33. 330 INPUT"Type return to continue...";W
  34. 340 GOSUB 680
  35. 350 LOCATE 3,20:PRINT"Principal plane pattern in xz-plane"
  36. 360 GOSUB 760
  37. 370 GOSUB 870
  38. 380 J=0
  39. 390 YMIN=0:YMAX=0
  40. 400 FOR THE=-90 TO 90
  41. 410   RTHE=THE*PI/180
  42. 420   V=SIN(RTHE)
  43. 430   BX=PI*LY
  44. 440   IF V=0 THEN F=1:GOTO 460
  45. 450   F=SIN(BX*V)/(BX*V)
  46. 460   Y(J)=ABS(F)
  47. 470   Y(J)=20*FN LOGTEN(Y(J))
  48. 480   IF Y(J)>YMAX THEN YMAX=Y(J)
  49. 490   J=J+1
  50. 500   NEXT THE
  51. 510 YMIN=-50-YMAX
  52. 520 LOCATE 23,1:INPUT"                   Type return to continue...";W
  53. 530 GOSUB 680
  54. 540 LOCATE 3,20:PRINT"Principal plane pattern in yz-plane"
  55. 550 GOSUB 760
  56. 553 LINE (239,0)-(239,154)
  57. 555 GOSUB 890
  58. 560 END
  59. 570 INPUT"DO YOU WANT TO MAKE ANY CHANGES";AN$
  60. 580 IF AN$="N" OR AN$="n" THEN RETURN
  61. 590 INPUT"TYPE SAMPLING POINT TO CHANGE ";Q
  62. 600 PRINT Q,W(Q),ANG(Q),A(Q),:INPUT A(Q)
  63. 610 '
  64. 620 CLS:FOR N=-NMAX TO NMAX:I=N+NMAX
  65. 630  PRINT I,W(I),ANG(I),A(I)
  66. 640 NEXT N
  67. 650 PRINT
  68. 660 GOSUB 570
  69. 670 RETURN
  70. 680 '      MAY 29, 1986
  71. 690 '      RECTANGULAR PLOT OF DATA
  72. 700 SCREEN 2:CLS
  73. 710 FOR K=7 TO 67 STEP 10:LOCATE 20,K:PRINT"+";:NEXT K
  74. 720 FOR K=4 TO 20 STEP 4:LOCATE K,67:PRINT"-":NEXT K
  75. 730 VIEW (52,28)-(530,154),,1
  76. 740 LINE (239,0)-(239,154)
  77. 750 RETURN
  78. 760 '
  79. 770 PSET (0,Y(0))
  80. 780 WINDOW (0,YMIN)-(180,YMAX)
  81. 790 FOR X=0 TO 181
  82. 800   LINE -(X,Y(X))
  83. 810 NEXT X
  84. 815 LINE (239,0)-(239,154)
  85. 820 FOR K=4 TO 20 STEP 4:LOCATE K,68:PRINT USING "###.##";-(YMAX-YMIN)*(K-4)/16:NEXT K
  86. 830 LOCATE 4,75:PRINT"dB"
  87. 840 LOCATE 21,6:PRINT"-90":LOCATE 21,37:PRINT"0":LOCATE 21,67:PRINT"90"
  88. 850 RETURN
  89. 860 LOCATE 24,1:PRINT"TYPE <RETURN> TO CONTINUE...";:INPUT W:SCREEN 0,0
  90. 870 LOCATE 23,1:PRINT"I'm doing some calculation.  Please wait..."
  91. 880 RETURN
  92. 890 T$="DO YOU WANT TO RUN THIS PROGRAM AGAIN (Y/N)? ":LC=23:GOSUB 950
  93. 900 AN$=INKEY$
  94. 910 IF AN$="Y" OR AN$="y" THEN RUN
  95. 920 IF AN$="N" OR AN$="n" THEN END
  96. 930 GOTO 890
  97. 940 :
  98. 950 LOCATE LC,(80-LEN(T$))/2+1:PRINT T$:RETURN    'SUBROUTINE TO CENTRE TEXT
  99.